package com.snpic.appaw.module.insure.controller.app.cxParty.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import cn.idev.excel.annotation.*;

@Schema(description = "用户 APP - 车险出单-投被保人信息 Response VO")
@Data
@ExcelIgnoreUnannotated
public class AppCxPartyRespVO {

    @Schema(description = "序列ID", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("序列ID")
    private Long id;

    @Schema(description = "唯一流水号")
    @ExcelProperty("唯一流水号")
    private String sessionid;

    @Schema(description = "订单号")
    @ExcelProperty("订单号")
    private String orderNo;

    @Schema(description = "投保人姓名")
    @ExcelProperty("投保人姓名")
    private String phname;

    @Schema(description = "投保人证件类型，枚举")
    @ExcelProperty("投保人证件类型，枚举")
    private String phidtype;

    @Schema(description = "投保人证件号码")
    @ExcelProperty("投保人证件号码")
    private String phidno;

    @Schema(description = "投保人性别，枚举")
    @ExcelProperty("投保人性别，枚举")
    private String gender;

    @Schema(description = "投保人出生日期")
    @ExcelProperty("投保人出生日期")
    private LocalDateTime phbirthdate;

    @Schema(description = "投保人手机")
    @ExcelProperty("投保人手机")
    private String phtelephone;

    @Schema(description = "投保人邮箱")
    @ExcelProperty("投保人邮箱")
    private String phemail;

    @Schema(description = "投保人联系地址")
    @ExcelProperty("投保人联系地址")
    private String phaddress;

    @Schema(description = "投保人身份证有效起期")
    @ExcelProperty("投保人身份证有效起期")
    private LocalDateTime phstartdate;

    @Schema(description = "投保人身份证有效止期")
    @ExcelProperty("投保人身份证有效止期")
    private LocalDateTime phenddate;

    @Schema(description = "投保人民族")
    @ExcelProperty("投保人民族")
    private String phnation;

    @Schema(description = "投保人签发机构")
    @ExcelProperty("投保人签发机构")
    private String phissuer;

    @Schema(description = "被保人姓名")
    @ExcelProperty("被保人姓名")
    private String insuredname;

    @Schema(description = "被保人性别，枚举")
    @ExcelProperty("被保人性别，枚举")
    private String insuredgender;

    @Schema(description = "被保人证件类型，枚举")
    @ExcelProperty("被保人证件类型，枚举")
    private String insuredidtype;

    @Schema(description = "被保人证件号码")
    @ExcelProperty("被保人证件号码")
    private String insuredidno;

    @Schema(description = "被保人出生日期")
    @ExcelProperty("被保人出生日期")
    private LocalDateTime insuredbirthdate;

    @Schema(description = "被保人手机")
    @ExcelProperty("被保人手机")
    private String insuredmobile;

    @Schema(description = "被保人身份证有效起期")
    @ExcelProperty("被保人身份证有效起期")
    private LocalDateTime insuredstartdate;

    @Schema(description = "被保人身份证有效止期")
    @ExcelProperty("被保人身份证有效止期")
    private LocalDateTime insuredenddate;

    @Schema(description = "被保人民族")
    @ExcelProperty("被保人民族")
    private String insurednation;

    @Schema(description = "被保人签发机构")
    @ExcelProperty("被保人签发机构")
    private String insuredissuer;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "备注")
    @ExcelProperty("备注")
    private String remark;

    @Schema(description = "原始oracle中的id，用于数据迁移")
    @ExcelProperty("原始oracle中的id，用于数据迁移")
    private Long oldId;

}